﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace DataAccess
{
    public class DataAccessObject
    {
        private static readonly string dataProvider = ConfigurationManager.AppSettings.Get("DataProvider");
        private static readonly DataFactory factory = DataFactories.GetFactory(dataProvider);

        public static INhanVien NhanVien
        {
            get { return factory.NhanVien; }
        }
        public static IGiangVienThinhGiang GiangVienThinhGiang
        {
            get { return factory.GiangVienThinhGiang; }
        }
        public static IBoPhan BoPhan
        {
            get { return factory.BoPhan; }
        }
        public static IChucVu ChucVu
        {
            get { return factory.ChucVu; }
        }
        public static ITinhTrang TinhTrang 
        {
            get { return factory.TinhTrang; } 
        }
        public static ILoaiNhanVien LoaiNhanVien
        {
            get { return factory.LoaiNhanVien; }
        }
        public static IHinhThucHopDong HinhThucHopDong
        {
            get { return factory.HinhThucHopDong; }
        }
        public static INamHoc NamHoc
        {
            get { return factory.NamHoc; }
        }
        public static IHocKy HocKy
        {
            get { return factory.HocKy; }
        }
        public static INgachLuong NgachLuong
        {
            get { return factory.NgachLuong; }
        }
        public static IBacLuong BacLuong
        {
            get { return factory.BacLuong; }
        }
        public static IDieuKhoanHopDong DieuKhoanHopDong
        {
            get { return factory.DieuKhoanHopDong; }
        }
        public static IHopDongThinhGiang HopDongThinhGiang
        {
            get { return factory.HopDongThinhGiang; }
        }
        public static IHopDongNhanVien HopDongNhanVien
        {
            get { return factory.HopDongNhanVien; }
        }
        public static IHopDongLamViec HopDongLamViec
        {
            get { return factory.HopDongLamViec; }
        }
        public static IHopDongLaoDong HopDongLaoDong
        {
            get { return factory.HopDongLaoDong; }
        }
        public static IHopDongKhoan HopDongKhoan
        {
            get { return factory.HopDongKhoan; }
        }

        public static IQuanLyHopDong QuanLyHopDong
        {
            get
            {
                return factory.QuanLyHopDong;
            }
        }

        public static IThamChieuDuLieu ThamChieuDuLieu
        {
            get
            {
                return factory.ThamChieuDuLieu;
            }
        }

        public static IKieuDuLieu KieuDuLieu
        {
            get
            {
                return factory.KieuDuLieu;
            }
        }
    }
}
